package org.example.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.qidian.common.pojo.MESResult;
import com.qidian.mes.pojo.TestIndex;
import com.qidian.mes.pojo.TestTemplate;
import org.example.mapper.TestIndexMapper;
import org.example.mapper.TestTemplateMapper;
import org.example.service.TestTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Author 严伟伦
 * @Company 无
 * @Description
 * @Date: 2024/10/18 14:04
 */
@Service
public class TestTemplateServiceImpl implements TestTemplateService {
    @Autowired
    private TestTemplateMapper testTemplateMapper;

    @Override
    public MESResult selectByPage(TestTemplate testTemplate, Integer page, Integer limit) {
        // 开启分页  参数1： 页码  参数2： 每页大小,这一条下面第一个方法就是分页方法
        PageHelper.startPage(page,limit);
        // 查询全部
        List<TestTemplate> testIndices = testTemplateMapper.selectByPage(testTemplate);

        // 创建一个PageInfo对象，构造方法中传入查询的结果集合。
        PageInfo<TestTemplate> defectPageInfo = new PageInfo<>(testIndices);

        return MESResult.success(defectPageInfo);
    }

    @Override
    public MESResult addTestTemplate(TestTemplate testTemplate) {
        if (testTemplateMapper.addTestTemplate(testTemplate) == 1){
            return MESResult.success(testTemplate);
        }
        return MESResult.error();
    }

    @Override
    public MESResult deleteTestTemplateById(int templateId) {
        if (testTemplateMapper.deleteTestTemplateById(templateId) == 1){
            return MESResult.success();
        }
        return MESResult.error();
    }

    @Override
    public MESResult selectTestTemplateById(int templateId) {
        TestTemplate testTemplate = testTemplateMapper.selectTestTemplateById(templateId);
        return MESResult.success(testTemplate);
    }

    @Override
    public MESResult updateTestTemplate(TestTemplate testTemplate) {
        if (testTemplate == null){
            return MESResult.error();
        }
        if (testTemplateMapper.updateTestTemplate(testTemplate) == 1){
            return MESResult.success();
        }
        return MESResult.error();
    }
}
